// 版权归Go作者所有。版权所有。
// 此源代码的使用受BSD样式
// 许可证的约束，该许可证可以在许可证文件中找到。

// go:build mips64 | | mips64le 
// +build mips64 mips64le 

package cpu

const CacheLinePadSize = 32

// 这是由archauxv初始化的，初始化后不应更改。
var HWCap uint

// HWCAP位。这些都是由Linux内核5.4公开的。
const (
	// CPU功能
	hwcap_MIPS_MSA = 1 << 1
)

func doinit() {
	options = []option{
		{Name: "msa", Feature: &MIPS64X.HasMSA},
	}

	// HWCAP功能位
	MIPS64X.HasMSA = isSet(HWCap, hwcap_MIPS_MSA)
}

func isSet(hwc uint, value uint) bool {
	return hwc&value != 0
}
